package com.ruoyi.channel.service;

import com.ruoyi.channel.domain.bo.PushOperate;
import com.ruoyi.channel.domain.bo.TChannelPushDisBo;
import com.ruoyi.channel.domain.vo.ChannelCustomerInfoVo;
import com.ruoyi.channel.domain.vo.ChannelPushDisVo;
import com.ruoyi.channel.domain.vo.TChannelPushDisVo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import java.util.Collection;
import java.util.List;

/**
 * 渠道数据分配Service接口
 *
 * @author ruoyi
 * @date 2023-11-02
 */
public interface ITChannelPushDisService {

    /**
     * 查询渠道数据分配
     */
    TChannelPushDisVo queryById(Long id);

    /**
     * 查询渠道数据分配列表
     */
    TableDataInfo<ChannelPushDisVo> queryPageDisList(TChannelPushDisBo bo, PageQuery pageQuery);

    /**
     * 查询渠道数据分配列表
     */
    TableDataInfo<TChannelPushDisVo> queryPageList(TChannelPushDisBo bo, PageQuery pageQuery);

    /**
     * 查询渠道数据分配列表
     */
    List<TChannelPushDisVo> queryList(TChannelPushDisBo bo);

    /**
     * 新增渠道数据分配
     */
    Boolean insertByBo(TChannelPushDisBo bo);

    /**
     * 修改渠道数据分配
     */
    Boolean updateByBo(TChannelPushDisBo bo);

    /**
     * 校验并批量删除渠道数据分配信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);


    void pushOperate(PushOperate pushOperate);


    List<ChannelCustomerInfoVo> getChannelCustomerList(PushOperate pushOperate);
}
